package cn.gztang.service;

import cn.gztang.entity.dto.GasTankUpdate;
import cn.gztang.entity.dto.PageQuery;
import cn.gztang.entity.po.GasTankInfo;
import cn.gztang.exception.QRCodeCreateFailException;

import java.io.IOException;
import java.util.List;

public interface GasTankService {
    int findCountByCodeRange(long begin, long end);

    List<GasTankInfo> findByCodeRange(long begin, long end);

    int batchAdd(List<GasTankInfo> gasTankInfos);

    List<GasTankInfo> createDefaultGasTankInfoListByRange(long begin, long end);

    GasTankInfo findByBarcode(long barcode);

    List<GasTankInfo> findAllByPageQuery(PageQuery pageQuery);

    int updateGasTank(GasTankUpdate tankUpdate);

    int addGasTankInfo(List<Long> barcodes);

    List<Long> findExitsBarcodeByRange(long begin, long end);

    void zipCodeImage(long begin, long end, String parentPath, String realPath, int count) throws QRCodeCreateFailException, IOException;

    GasTankInfo findById(Integer id);
}
